import request from "@/utils/request";
import type { ReqTrademark, TrademarkInfo } from "./models/tardemarkModel";

// 枚举：  可以通过key读取value 也可以通过value读取key
enum Api {
  getTrademarkPageListUrl = "/admin/product/baseTrademark",
  addTrademarkUrl = "/admin/product/baseTrademark/save",
  getTrademarkInfoUrl = "/admin/product/baseTrademark/get",
  updateTrademarkUrl = "/admin/product/baseTrademark/update",
  deleteTrademarkUrl = "/admin/product/baseTrademark/remove/",
}

/**
 * 获取品牌分页列表
 * @param page  // 当前页
 * @param limit // 每页条数
 * @returns TrademarkType // 响应数据类型
 */
export function getTrademarkPageListApi(page: number, limit: number) {
  return request.get<any, ReqTrademark>(
    Api.getTrademarkPageListUrl + `/${page}/${limit}`
  );
}

/**
 * 添加品牌
 * @param addTrademarkFormData // 请求体参数 包含 tmName 和 logoUrl
 * @returns null
 */
export function addTrademarkApi(tmName: string, logoUrl: string) {
  return request.post<any, null>(Api.addTrademarkUrl, { tmName, logoUrl });
}

/**
 * 根据品牌id获取品牌信息
 * @param id  品牌id
 * @returns
 */
export function getTrademarkInfoApi(id: number) {
  return request.get<any, TrademarkInfo>(Api.getTrademarkInfoUrl + `/${id}`);
}

/**
 * 修改品牌信息
 * @param trademarkInfo 包含 id tmName logoUrl
 * @returns null
 */
export function updateTrademarkApi(trademarkInfo: {
  id: string;
  tmName: string;
  logoUrl: string;
}) {
  return request.put<any, null>(Api.updateTrademarkUrl, trademarkInfo);
}

/**
 * 删除品牌
 * @param id 品牌id
 * @returns null
 */
export function deleteTrademarkApi(id: number) {
  return request.delete<any, null>(Api.deleteTrademarkUrl + `${id}`);
}
